// pages/slither/slither.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    items: [],
    starX: 0,
    startY: 0

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    for (let i=0; i <10; i++) {
      this.data.items.push({
        content: i + "向左滑动删除哦，向左滑动删除哦，向左滑动删除哦，向左滑动删除哦，向左滑动删除哦，向左滑动删除哦，",
        isTouchMove: false
      })
      this.setData({
        items: this.data.items
      })
    }
    let extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
    console.log('1111111111111111111111')
    console.log(extConfig)
    console.log(this.data.items)
  }, 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  /**
  * 计算滑动角度
  * @param {Object} start 起点坐标
  * @param {Object} end 终点坐标
  */
  angle: function (start, end) {
    var _X = end.X - start.X,
      _Y = end.Y - start.Y
    //返回角度 /Math.atan()返回数字的反正切值
    return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
  },
  touchstart (e) {
    //开始触摸时 重置所有删除
    this.data.items.forEach(function (v, i) {
      if (v.isTouchMove)//只操作为true的
        v.isTouchMove = false;
    })
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      items: this.data.items
    })
  },
  touchmove (e) {
    let index = e.currentTarget.dataset.index
    let startX = this.data.startX
    let startY = this.data.startY
    let touchMoveX = e.changedTouches[0].clientX
    let touchMoveY = e.changedTouches[0].clientY
    let angle = this.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY })
    console.log(angle)
    this.data.items.forEach((v, i) => {
      v.isTouchMove = false
      if(Math.abs(angle) > 30) {
        return
      }
      if(i === index) {
        if(touchMoveX > startX) {
          v.isTouchMove = false
        } else {
          v.isTouchMove =true
        }
      }
    })
    this.setData({
      items: this.data.items
    })
  },
  goDetail () {
    console.log('goDetail事件')
  },
  del () {
    console.log('del事件')
  }
})